A personal computer typically includes an audio codec for encoding and decoding digital audio streams. A device driver is coded specifically for the audio codec to control operation of the audio codec in the personal computer. The device driver is then included in a device driver installation package for the audio codec. In turn, the device driver is installed in an operating system of the personal computer when the operating system executes the device driver installation package. In addition to controlling operation of the audio codec, the device driver facilitates communication between the audio codec and the operating system of the personal computer.
For a personal computer including a Microsoft Windows™ operating system, a device driver for an audio codec in the personal computer is typically certified through Windows Hardware Quality Laboratories (WHQL). In this certification process, the device driver is tested for compatibility with an audio subsystem of the operating environment, including related components, drivers, hardware, etc. If the device driver passes tests specified by the Windows Hardware Qualify Laboratories, Microsoft creates a digitally signed certification file for the device driver. The digitally signed certification file is then included in a device driver installation package for the audio codec. Moreover, the digitally signed certification file prevents a Windows operating system from displaying a message indicating that the device driver in the device driver installation package has not been certified by Microsoft for performance and quality metrics.
An original equipment manufacturer (OEM) of personal computers may desire to customize features of an audio codec available to a device driver of the audio codec and obtain WHQL certification of the customized device driver. One technique employed for customizing features of an audio codec available to a device driver involves specifying selected features of the audio codec in an installation configuration file to enable the selected features for the device driver. The installation configuration file is then included in the device driver installation package and WHQL certification is obtained for the device driver installation package. In this way, WHQL certification is also obtained for the device driver in the device driver installation package. Although this technique has been successfully employed to customize features of an audio codec and obtain WHQL certification of a device driver for the audio codec, WHQL certification is individually obtained for each device driver installation package including a unique installation configuration file, which may be costly and time consuming.
Another technique for customizing features of an audio codec available to a device driver involves specifying selected features of the audio codec in a configuration file independent from a device driver, and then obtaining WHQL certification of the device driver package without the configuration file. Because the configuration file is not part of the device driver installation package, WHQL certification need not be obtained for each unique combination of selected features specified in the configuration file. Although this technique has been successfully employed to customize features of an audio codec and obtain WHQL certification of a device driver for the audio codec, the independent configuration file is typically omitted in an automated Windows operating system upgrade performed on the personal computer. For instance, the automatic operating system upgrade may replace an older version of the Windows operating system on the personal computer with a newer version of the Windows operating system not including the configuration file.
If the configuration file is omitted in the automated operating system upgrade, the configuration file is typically installed in the personal computer in a separate, manual process after completion of the automated operating system upgrade to enable the selected features of the audio codec specified in the configuration file. For convenience and to avoid human error or upgrade failure, it is desirable to include the configuration file in the automated operating system upgrade, which occurs when the configuration file is included in a WHQL certified device driver of the audio codec.
In light of the above, a need exists for customizing features of a codec without requiring certification of multiple device driver packages for the codec. A further need exists for customizing features of a codec without modifying a certified device driver installation package including a device driver for the audio codec. A need also exists for retaining customized features of a codec contained in a computing device during an operating system upgrade performed on the computing device.